import { Column, Entity, Index } from "typeorm";

@Index("login_name", ["name"], { unique: true })
@Index("PK__sys_empl__3213E83F8AC44F40", ["id"], { unique: true })
@Entity("sys_employee", { schema: "dbo" })
export class SysEmployee {
  @Column("nvarchar", { primary: true, name: "id", length: 255 })
  id: string;

  @Column("nvarchar", { name: "name", nullable: true, length: 64 })
  name: string | null;

  @Column("nvarchar", { name: "nickname", nullable: true, length: 64 })
  nickname: string | null;

  @Column("tinyint", { name: "gender", nullable: true })
  gender: number | null;

  @Column("bigint", { name: "dept_id", nullable: true })
  deptId: string | null;

  @Column("nvarchar", { name: "avatar", nullable: true, length: 255 })
  avatar: string | null;

  @Column("nvarchar", { name: "mobile", nullable: true, length: 20 })
  mobile: string | null;

  @Column("tinyint", { name: "status", nullable: true })
  status: number | null;

  @Column("nvarchar", { name: "email", nullable: true, length: 128 })
  email: string | null;

  @Column("datetime2", { name: "create_time", nullable: true })
  createTime: Date | null;

  @Column("datetime2", { name: "update_time", nullable: true })
  updateTime: Date | null;

  @Column("nvarchar", { name: "create_by", nullable: true, length: 255 })
  createBy: string | null;

  @Column("nvarchar", { name: "update_by", nullable: true, length: 255 })
  updateBy: string | null;

  @Column("nvarchar", { name: "create_user", nullable: true, length: 255 })
  createUser: string | null;

  @Column("nvarchar", { name: "update_user", nullable: true, length: 255 })
  updateUser: string | null;

  @Column("datetime2", { name: "delete_time", nullable: true })
  deleteTime: Date | null;
}
